package com.suning.sawp.service.impl.oga;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.suning.framework.dal.client.DalClient;
import com.suning.sawp.po.customer.BaseTagGrade;

/**
 * 
 * 〈标签和客户评服务〉<br>
 * 〈功能详细描述〉
 *
 * @author 12061748
 * @see [相关类/方法]（可选）
 * @since [产品/模块版本] （可选）
 */
@Service
public class TagAndGradeService {

    @Resource
    DalClient dalClient;

    /**
     * 
     * 功能描述:查询标签或者评级列表 <br>
     * 〈功能详细描述〉
     *
     * @param start
     * @param limit
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    public List<BaseTagGrade> queryTagList(String type) {
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("type", type);
        return dalClient.queryForList("outGrow.queryTagGradeList", map, BaseTagGrade.class);
    }

    /**
     * 
     * 功能描述: 更新标签或者评级<br>
     * 〈功能详细描述〉
     *
     * @param baseTagGrade
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    public void updateTagOrGrade(BaseTagGrade baseTagGrade) {
        dalClient.merge(baseTagGrade);
    }

    /**
     * 
     * 功能描述: 保存标签或评级<br>
     * 〈功能详细描述〉
     *
     * @param baseTagGrade
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    public void saveTagOrGrade(BaseTagGrade baseTagGrade) {
        dalClient.persist(baseTagGrade);
    }

    public Integer countTagNum(String tagName, String type) {
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("type", type);
        map.put("tagName", tagName);
        Map<String, Object> result = dalClient.queryForMap("outGrow.countTagNum", map);
        return ((Long)result.get("num")).intValue();
    }

    /**
     * 
     * 功能描述:删除标签 <br>
     * 〈功能详细描述〉
     *
     * @param id
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    public void delete(long id) {
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("id", id);
        dalClient.execute("outGrow.deleteTagInfo", map);
    }

}
